草庐IT

c++ - std::string 和 UTF-8 编码的 unicode

全部标签

c - 尝试将 str 写入具有特殊文件名 "con"的文件,但它被打印到 stdout

FILE*fp=fopen("./con","w");char*s="hello!";fwrite(s,sizeof(char),strlen(s),fp);fclose(fp);return0;如果我的文件名为“con”,那么fwrite()将像printf()一样工作。它是如何工作的? 最佳答案 Windows/DOS有多个reservedfilenames包括CON、PRN、AUX、CLOCK$、NULCOM1、COM2、COM3、COM4LPT1、LPT2、LPT3、LPT4等。CON是标准控制台(输出),所以这是数据的去向

c - 没有声音。通过 RubyDL 使用 Ruby 和 winmm

预期行为:中央C在一台MIDI乐器上演奏,然后在另一台上演奏。实际行为:DL弃用警告并且没有声音。运行Windows7。代码:require"dl/import"classLiveMIDION=0x90OFF=0x80PC=0xc0definitializeopenenddefnote_on(channel,note,velocity=64)message(ON|channel,note,velocity)enddefnote_off(channel,note,velocity=64)message(OFF|channel,note,velocity)enddefprogram_cha

c++ - 如何检查 string::append() 是否会失败

我正在编写一段代码,其中我需要通过向其append数据来创建一个std::string(这里的数据表示应用程序的日志)。但字符串也有其大小限制。我在try-catchblock中编写了代码,当append()失败时,它会抛出异常。我需要在append()之前检查append新字符串是否会导致任何异常,因为一旦抛出异常,它就会清除字符串中的数据。我想检查append新字符串是否会导致任何异常,如果是,则将数据写入文件并清除下一次输入的字符串。由于是应用程序日志,所以我不知道最终大小是多少。所以我试图让代码不那么容易受到上述问题的影响。我检查了一个条件如下:如果“current_strin

c - 从 recvfrom 获取错误的 ip 地址和端口号

无论我的ip和端口是什么,我都会得到以下ip和端口“204.204.204.204@52428”。我使用的是windows10和ipv4地址#include"stdafx.h"#undefUNICODE#defineWIN32_LEAN_AND_MEAN#include#include#include#include#include//NeedtolinkwithWs2_32.lib#pragmacomment(lib,"Ws2_32.lib")//#pragmacomment(lib,"Mswsock.lib")#defineDEFAULT_BUFLEN512#defineDEFAU

c 没有正确打印 "┌──┐"字符

下午好,我的C代码遇到问题,我不知道是什么原因造成的。每次我尝试打印这样的字符:“┌──┐”我的程序只是打印一些奇怪的字符,就像这个截图:我在Windows上使用QtCreator,Qt版本5.5.0MSVC64位。编译器是MicrosoftVisualC++Compiler12.0(amd64)。我尝试更改区域设置但没有成功。我发现打印这些字符的唯一方法是使用ASCII代码将它们定义为int变量并打印它们,但这导致了一些非常广泛和丑陋的编码,如下所示:intcSupEsq=218;//'┌'intcSupDir=191;//'┐'intcInfEsq=192;//'└'intcInf

string - 从文本文件中删除二进制控制字符

我有一个包含二进制控制字符的文本文件,例如“^@”和“^M”。当我尝试直接对文本文件执行字符串操作时,控制字符使脚本崩溃。通过反复试验,我发现more命令会去除控制字符,以便我可以正确处理文件。morefile_with_control_characters.not_txt>file_without_control_characters.txt这被认为是一种好方法,还是有更好的方法从文本文件中删除控制字符?more在Windows8之前的操作系统中是否有此行为? 最佳答案 当然,您不想简单地删除所有控制字符。换行符和制表符也是控制字

c++ - 在 C++ 中定义 Unicode 时映射格式说明符?

Mappingformatspecifier%sto%lswhen_tprintf()ismappedtowprintf()?我正在使用_T()宏将字符串映射到ASCII或Unicode,具体取决于是否定义了_UNICODE。但是,像_tprintf("%s",_T("textstring"))这样的调用给我带来了麻烦,因为在定义_UNICODE时类型不一致.我看到%ls应该用于Unicode字符串。当定义了_UNICODE时,如何将%s直接映射到%ls?有没有像_T()?这样的奇特函数 最佳答案 However,acalllike

windows - 如何在 Windows 中使用 H264 视频编码器 MFT 对位图进行编码

我的应用程序对从GDI或DXGI方法捕获的帧进行编码。目前我正在使用x264库进行编码。AFAIKx264是基于软件的库,我想借助GPU进行编码,这样可以节省CPU周期并希望速度也会更快。经过搜索,我找到了一个H.264VideoEncoder正在做h264编码的MFT。但是我回答了几个问题。1)它比x264编码库快吗?2)位图帧可以用这个MFT编码吗?-我只看到支持MFVideoFormat_I420、MFVideoFormat_IYUV、MFVideoFormat_NV12、MFVideoFormat_YUY2、MFVideoFormat_YV12这些格式3)它是硬件加速的吗(指它

windows - 硬件 H264 编码 ID3D11Texture2D with Media Foundation

我正在从事一个捕获屏幕并对其进行编码的项目。我已经可以使用桌面复制API(Win8+)捕获屏幕。使用API,我可以获得ID3D11Texture2D纹理并将它们从GPU传输到CPU,然后使用libx264对其进行编码。但是,将纹理从GPU拉到CPU可能是一个瓶颈,可能会降低fps。libx264也占用CPU周期(取决于质量)来编码帧。我正在寻找在GPU本身中编码ID3D11Texture2D纹理,而不是使用CPU进行编码作为优化。我已经检查了文档和一些示例代码,但没有成功。如果有人可以向我指出一些可靠地完成我想要的事情的资源,我将不胜感激。 最佳答案

windows - 将 Unicode 字符打印到 shell

我想在cmd中输出一个Unicode字符,但明显的方法失败了:C:\Windows\System32>perl6-e"'Я'.say"?有趣的是,这有效:C:\Windows\System32>perl6-e"Buf.new(0xD0,0xAF).decode('UTF-8').say"Я这里似乎有什么问题?编辑:我使用的是来自here的最新RakudoStar版本.C:\Windows\System32>perl6-vThisisRakudoversion2016.01.1builtonMoarVMversion2016.01implementingPerl6.c.